وارد کردن فقط حروف انگلیسی در تکست باکس در html
در حال طراحی یک فرم ورود اطلاعات در PHP هستم. در بخشی از فرم میخوام که کاربر اطلاعات خودش رو شامل نام و نام خانوادگی رو فقط به صورت انگلیسی وارد کنه و اجازه ورود اطلاعات به صورت فارسی رو نمی خوام بهش بدم.
چجوری و با چه کدی می تونم کنترل کنم که اطلاعات وارد شده فقط به صورت انگلیسی هست ؟
جلوگیری از وارد کردن کاراکترهای فارسی در input توسط جی کوئری
برای کنترل اینکه کاراکترهای وارد شده توسط کاربر انگلیسی هستن یا فارسی می تونید از طریق کدهای جی کوئری این کار رو انجام بدید. برای این کار اول یک تگ input با type برابر با text رو ایجاد کنید. در کد زیر این کار رو انجام دادم
<input id="EnglishName" type="text" class="form-control" placeholder="Please enter your name and family ..." />
در تگ بالا id تگ input رو برابر با EnglishName قرار دادم. حالا بایستی وقتی کاراکتری توسط یک کاربر وارد میشه کنترل کنیم که آیا این کاراکتر فارسی هست یا انگلیسی و اگر فارسی بود به کاربر پیغام مناسب رو نمایش بدیم و یا اینکه کلا حذفش کنیم اون کاراکتر رو.
اعتبارسنجی کاراکترهای ورودی توسط جی کوئری
برای این منظور در قسمت کدهای جاوااسکریپت یا جی کوئری پروژه خودتون کد زیر رو بنویسید :
<script>
$('#EnglishName').on('keyup', function (event) {
var arregex = /^[a-zA-Z0-9_ ]*$/;
if (!arregex.test(event.key)) {
$('#EnglishName').val("");
}
});
</script>
خب در کد بالا وقتی رویداد OnKeyUp صدا زده میشه (یعنی وقتی که کاراکتری درون تگ EnglishName وارد میشه) این کدها فراخوانی میشن و عمل می کنن. در ابتدا در متغیر arregex یک Pattern رو تغریف کردیم.
در این پترن گفته شده
- حروف انگلیسی a کوچک تا z کوچک
- حروف انگلیسی A بزرگ تا Z بزرگ
- اعداد 0 تا 9
- کاراکتر _
- و یک کاراکتر فضای خالی یا Space هم نوشته شده
این کاراکترهای مجاز برای وارد شدن اطلاعات در تگ input هستن. در خط بعد توسط متد test که یکی از متدهای جاوااسکریپتی هست کنترل کردیم که آیا کاراکتر ورودی در پترن ما صحیح هست یا نه. اگر صحیح نبود یعنی کاراکتر وارد شده فارسی یا هر چیز دیگه ای بود قطعه کد زیر اجرا میشه
$('#EnglishName').val("");
یعنی مقدار input حذف میشه.
نکته : دقت کنید که در پترنی که تعریف می کنید حتما کاراکتر Space رو هم در نظر بگیرید چون در غیر این صورت با زدن هر Space کل متن ورودی حذف میشه.
در لینک زیر هم می تونید اطلاعاتی رو در این رابطه کسب کنید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- حذف فایلها و دستورات Css و JavaScript اضافی
- جمع کردن (Collapse) منوی جانبی موقع لود فرم در پنل AdminLte
- تبدیل اعداد انگلیسی به فارسی در سایت
- دلیل خطای Identifier 'X' has already been declared در جی کویری چیست ؟
- جدا کردن سه رقم سه رقم اعداد در input با جاوااسکریپت
- محدود کردن تایپ عدد یا حروف با جاوا اسکریپت
- معنی و مفهوم و کاربرد Thread pool در وب
- مقایسه بین فریم ورک های Angular و React.js و Vue js